This invention relates to industrial automation systems employing communication networks, and more particularly, to a network-independent communication module interface suitable for use in all components of the automation system.
Industrial automation systems frequently use communication networks to exchange data between devices. A multitude of industrial communication network types exist, and development of new networks is a continuing trend. These networks employ a wide variety of communication models, protocols and services. Several network types share the common goal of making similar devices interchangeable by defining a common communication model, or device profile, for specific device types.
Due to the wide variety of network types commonly employed in industrial automation applications, devices must provide support for more than one network type in order to be competitive. Due to the variances between network types, devices are typically custom-designed at some level to support each network type. While it is common for device manufacturers to use proprietary hardware modules for interchangeable network connections, these modules and the devices that use them are designed to support a limited set of network types identified prior to development.
With the introduction and market acceptance of new network types it is certain that devices will be required to support new network types during their life cycle. The current method of implementing communication interfaces does not provide the flexibility of supporting additional network types without the cost and delay of modifying the device itself.
The present invention is an architecture and interface definition for a universal communication system where various communication interfaces are implemented as interchangeable modules that insulate the industrial automation device from the specifics of the communication network in question. The interchangeable nature of the communication modules allows for a single device design that can communicate on any existing, or future, network type.
Importantly, the present invention provides an abstract data-exchange architecture that conceals the specifics of the network interface hardware, communication model, protocols and services. This approach eliminates any network dependencies of the industrial automation device.
Specifically, the present invention provides an industrial automation device with multi-network connectivity employing a network-independent core component that implements the primary function of the device in combination with an appropriately configured communication module. The core component exchanges data with the communication module via an abstract interface. The communication module presents the data to the network according to network requirements and configuration data stored in the module. The configurable nature of the communication module allows the data to be presented in accordance with a desired device profile.
The industrial automation device transfers data to/from the communication module by placing it in interface RAM (IRAM) in the communication module. Access to the IRAM is via a non-traditional indirect interface. The communication module presents itself to the CPU in the automation device as 8 memory-mapped byte-wide registers. Access to data in IRAM is achieved by first writing the desired IRAM address into designated registers, and then either reading or writing 32-bits of data to/from four other registers. With this method, the interface IRAM can be accessed using 32-bit atomic transfers regardless of the data bus size of the CPU in the automation device and the actual data width of the IRAM. Furthermore, this interface provides a large amount of IRAM space (up to 128 Kbytes) while requiring only 8 memory locations in the automation product""s address space. Since data is transferred in 32-bits at a time, data items up to 32-bits in size are transferred without interruption, eliminating the possibility of data corruption due to conflicting accesses to the same IRAM location by both the automation device and the network.
It is one objective of the invention, then, to provide a method of interfacing an 8-bit or larger CPU to a large block of interface RAM, providing multi-byte data transfers independent of the actual data width of the interface RAM and requiring minimum address space in the CPU.
The logical interface implemented in IRAM uses an abstract data exchange model rather than a communication interface model, in this way the specifics of each network are eliminated from the interface.
The IRAM is divided into two main areas; a pre-defined control/status area and a free-format data exchange area. The industrial automation device controls and monitors the transfer of data through pre-defined IRAM locations in the control/status area. Data to be exchanged with the network is placed into the data exchange area. Fixed-configuration automation devices have an IRAM location assigned to each data item when the device is developed. The communication module configuration data maps these fixed-location data items to specific network transactions. Variable configuration automation devices rely on a software configuration tool to assign an IRAM location to each data item and pass the resulting memory-map to the automation device and to the communication module as network-specific configuration data.
The automation device initializes the data exchange interface by issuing an xe2x80x9copenxe2x80x9d command. After the xe2x80x9copenxe2x80x9d command the communication module is enabled to begin exchanging data with the network. The status of data exchange is indicated by pre-defined locations in the control/status area. The automation device sends xe2x80x9cheartbeatxe2x80x9d commands at regular intervals, and expects timely responses from the communication module. In this manner either party can detect failure of the other. The automation device terminates the data exchange interface and stops network data exchange by issuing a xe2x80x9cclosexe2x80x9d command.
Detailed network control and status is intentionally excluded from the pre-defined control/status area due to its network-specific nature. When required, this data is instead mapped into the data exchange area and is treated the same as data to/from the network. In this way, status and control information about the network is still available, but it is accessed using the same generic interface as data to be transferred through the network.
Thus, it is another objective of this invention to employ a generic data-exchange model excluding any network-specific elements from the communication module interface while preserving access to network-specific control/status. Furthermore, it is also the objective of this invention to ensure the integrity of the data exchange interface permitting both the automation device and the communication module to take appropriate action in the case of a failure.
Notifications of occurrences in the data exchange interface are passed between the automation device and the communication module. These notifications relate to changes in status of the automation device, communication module or network, changes in the values of data items or changes in validity of data items.
It is therefore, another objective of this invention to maximize responsiveness to occurrences without overtaxing the automation device""s CPU as might be expected because of the generic nature of the interface.
The communication module is configured by setting network protocol options and defining mappings between data in the IRAM and specific network services. Applicable network protocols and services can be mapped to IRAM locations, values in non-volatile memory or constants. The flexibility of this configuration scheme permits the automation device data to be presented to the network in any manner, including constant data items common in many xe2x80x9cdevice profiles.xe2x80x9d
Thus it is another objective of this invention to present automation device data to the network with total flexibility allowing devices to be used with networks they were not originally designed for.
Other features and advantages of the present invention will be apparent to persons skilled in the art from the following detailed description of a preferred embodiment accompanied by the attached drawing wherein identical reference numerals refer to like parts in the various views.